<?php
/**
* @version		$Id: radio.php 10707 2008-08-21 09:52:47Z eddieajau $
* @package		Joomla.Framework
* @subpackage	Parameter
* @copyright	Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license		GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

// Check to ensure this file is within the rest of the framework
defined('JPATH_BASE') or die();

/**
 * Renders a radio element
 *
 * @package 	Joomla.Framework
 * @subpackage		Parameter
 * @since		1.5
 */

class JElementCategory extends JElement
{
	/**
	* Element name
	*
	* @access	protected
	* @var		string
	*/
	var	$_name = 'Category';

	private $options;
	
	function fetchElement($name, $value, &$node, $control_name)
	{
		$categoryModel = new Category();
		$cats = $categoryModel->getPublishedCategories();

		$this->options[] = JHTML::_('select.option', '', JText::_( 'ROOT_CATEGORY' ) );

		$options = $this->_fetchOptions( $cats );
		return JHTML::_('select.genericlist', $this->options, 'params[' . $control_name . '][' . $name . ']', '', 'value', 'text', $value, $control_name.$name );
	}

	private function _fetchOptions( $cats, $level = 0 )
	{
		$rows = $cats->fetchAll();

		foreach( $rows as $r ){
			$levelSpc = str_repeat('|---', $r->level );
			$this->options[] = JHTML::_('select.option', $r->id_category, $levelSpc . $r->Translation[ JLoja_Lang::getCurrentLang() ]->nm_category);
		}
	}
}
